Skip to content

disable vc-dir-process-output-limit for diff-hl-dired - #294

Merged
dgutov merged 1 commit into
dgutov:masterfrom
vderyagin:fix-vc-dir-output-limit-error
Aug 11, 2026
Merged

disable vc-dir-process-output-limit for diff-hl-dired#294
dgutov merged 1 commit into
dgutov:masterfrom
vderyagin:fix-vc-dir-output-limit-error

Conversation

@vderyagin

Copy link
Copy Markdown
Contributor

Recent upstream Emacs change (268e055e051 (“Limit VC-Dir status process output processing”)) introduced vc-dir-process-output-limit variable with default value of 3000 characters & changed VC backend dir-status-files implementations to call vc-dir-maybe-narrow-and-show-more-button before processing larger output.

Basically if there are changes in excess of limit, emacs truncates the result and adds a button to rerun the refresh without a limit, introducing dependency on status process buffer’s vc-parent-buffer, pointing to the VC-Dir buffer, which is not present when diff-hl ends up calling that code.

This breaks diff-hl in dired, producing an error like this:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  vc-dir-maybe-narrow-and-show-more-button("(reported states may be incorrect)")
  #f(compiled-function () #<bytecode -0x1355c4af29e0d36f>)()
  #f(compiled-function () #<bytecode 0xe6ea5554b3be332>)()
  #f(compiled-function (proc msg) #<bytecode 0x6d883a17e9c9bdb>)(#<process git> "finished\n")
  apply(#f(compiled-function (proc msg) #<bytecode 0x6d883a17e9c9bdb>) (#<process git> "finished\n"))
  #f(advice #f(compiled-function (proc msg) #<bytecode 0x6d883a17e9c9bdb>) :after #f(advice #f(compiled-function (proc msg) #<bytecode 0x6d883a17e9c9bdb>) :after ignore))(#<process git> "finished\n")

Proposed change is to not have that output limit in diff-hl’s private status buffer.

@dgutov

dgutov commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Thank you, that is a necessary workaround indeed.

Maybe it will be possible to refine the upstream's change as well.

@dgutov
dgutov merged commit 6f1df2b into dgutov:master Aug 11, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants